1. Field of the Invention
This invention relates in general to computer programming development environments, and in particular, to a programming development environment that stores P-code for server routines in a database.
2. Description of Related Art
With the fast growing popularity of the Internet and Intranet, especially Web-based networks, there is also a fast growing demand for Internet and Intranet access to databases. However, it is especially difficult to use relational database management system (RDBMS) software with Web-based networks. One of the problems with using RDBMS software with Web-based networks is the lack of programming development environments that can be used to develop both Web-based and RDBMS-based applications.
For example, Web-based networks operate using the HyperText Transfer Protocol (HTTP) and the HyperText Markup Language (HTML). HTTP is the protocol used by Web clients and Web servers to communicate between themselves using these hyperlinks. HTML is the language used by Web servers to create and connect together documents that contain these hyperlinks. This protocol and language results in the communication and display of graphical information that incorporates hyperlinks. Hyperlinks are network addresses that are embedded in a word, phrase, icon or picture that are activated when the user selects a highlighted item displayed in the graphical information.
In contrast, most RDBMS software uses a Structured Query Language (SQL) interface. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO). There are Stored Procedures (SP) and User Defined Functions (UDF) that can be performed by a RDBMS. These SPs and UDFs, commonly referred to as server routines, could be stored directly on a database server file system. As a result, the developed server routines could be operating system dependent. This dependency requires the server routine code to change across databases running on different operating systems.
For example, current development environments generate multiple files for accessing the server routines. Storing and accessing these files require file input/output (file I/O) operations. Because file I/O is operating system dependent, the code for the server routines has to change when porting from one hardware platform to another. Moreover, a security authorization independent from the database security authorization is required when a user wants to remove the code. This can complicate management and maintenance of a server routine.
Therefore, there is a need in the art for multi-tier development environments that are capable of developing server routines which are portable from one hardware platform to another.
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for providing a programming development environment that supports the development of portable server routines. More specifically, the present invention discloses a method, apparatus, and article of manufacture for storing and retrieving server routines within the database independent of the file I/O system. Moreover, the development environment allows debugging of server routines in a multi-tier environment, wherein the source code being debugged runs on the development machine.
The method comprises the steps of storing the server routines in a RDBMS table accessible by a computer program, storing a pointer or a key to the table, retrieving the server routine from the table maintained within the database via the pointer or key, and executing the server routine.
The server routines stored in a table are easier to maintain and manage. They are backed up along with the rest of the database, and are easier to remove, especially, across databases running on different operating systems.